Information security is a general term referring to the practice of defending information from unauthorized access. Access to protected information may be restricted to persons who have been authorized to access the information. Computer systems may be protected from unauthorized access using various mechanisms that control access to the computer systems and the information contained thereon. One such mechanism is user authentication, which may be verifying one's claim of identity. For example, users may identify themselves by providing a username and a password when attempting to access a computer system.
Information security may use cryptography to transform information via encryption into a form that renders the information unusable by persons other than an authorized user. One form of cryptography used to secure information may be a cryptographic hash function that takes a block of data and returns a fixed-size string (i.e., a hash value). For example, a password may be transformed into a hash value using a hash function making the password unreadable by unauthorized individuals. A salt value (i.e., random data) may be used as an additional input to a hash function. By adding a salt value, a resulting hash value may be better defended against dictionary attacks and against pre-computed rainbow table attacks.